home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.6 / recover.6 < prev    next >
Text File  |  1995-07-25  |  6KB  |  133 lines

  1.  
  2.  
  3.  
  4.      RRRREEEECCCCOOOOVVVVEEEERRRR((((6666))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((9999 JJJJaaaannnnuuuuaaaarrrryyyy 1111999999993333))))        RRRREEEECCCCOOOOVVVVEEEERRRR((((6666))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           recover - recover a NetHack game interrupted by disaster
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           rrrreeeeccccoooovvvveeeerrrr [ ----dddd _d_i_r_e_c_t_o_r_y ] _b_a_s_e_1 _b_a_s_e_2 ...
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.           Occasionally, a NetHack game will be interrupted by disaster
  16.           when the game or the system crashes.  Prior to NetHack v3.1,
  17.           these games were lost because various information like the
  18.           player's inventory was kept only in memory.  Now, all
  19.           pertinent information can be written out to disk, so such
  20.           games can be recovered at the point of the last level
  21.           change.
  22.  
  23.           The _b_a_s_e options tell _r_e_c_o_v_e_r which files to process.  Each
  24.           base option specifies recovery of a separate game.
  25.  
  26.           The ----dddd option, which must be the first argument if it
  27.           appears, supplies a directory which is the NetHack
  28.           playground.  It overrides the value from NETHACKDIR,
  29.           HACKDIR, or the directory specified by the game
  30.           administrator during compilation (usually
  31.           /usr/games/lib/nethackdir).
  32.  
  33.           For recovery to be possible, _n_e_t_h_a_c_k must have been compiled
  34.           with the INSURANCE option, and the run-time option
  35.           _c_h_e_c_k_p_o_i_n_t must also have been on.  NetHack normally writes
  36.           out files for levels as the player leaves them, so they will
  37.           be ready for return visits.  When checkpointing, NetHack
  38.           also writes out the level entered and the current game state
  39.           on every level change.  This naturally slows level changes
  40.           down somewhat.
  41.  
  42.           The level file names are of the form base.nn, where nn is an
  43.           internal bookkeeping number for the level.  The file base.0
  44.           is used for game identity, locking, and, when checkpointing,
  45.           for the game state.  Various OSes use different strategies
  46.           for constructing the base name.  Microcomputers use the
  47.           character name, possibly truncated and modified to be a
  48.           legal filename on that system.  Multi-user systems use the
  49.           (modified) character name prefixed by a user number to avoid
  50.           conflicts, or "xlock" if the number of concurrent players is
  51.           being limited.  It may be necessary to look in the
  52.           playground to find the correct base name of the interrupted
  53.           game.  _r_e_c_o_v_e_r will transform these level files into a save
  54.           file of the same name as _n_e_t_h_a_c_k _w_o_u_l_d _h_a_v_e _u_s_e_d.
  55.  
  56.           Since _r_e_c_o_v_e_r must be able to read and delete files from the
  57.           playground and create files in the save directory, it has
  58.           interesting interactions with game security.  Giving
  59.           ordinary players access to _r_e_c_o_v_e_r through setuid or setgid
  60.  
  61.  
  62.  
  63.      Page 1                                           (printed 7/7/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      RRRREEEECCCCOOOOVVVVEEEERRRR((((6666))))       UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((9999 JJJJaaaannnnuuuuaaaarrrryyyy 1111999999993333))))        RRRREEEECCCCOOOOVVVVEEEERRRR((((6666))))
  71.  
  72.  
  73.  
  74.           is tantamount to leaving the playground world-writable, with
  75.           respect to both cheating and messing up other players.  For
  76.           a single-user system, this of course does not change
  77.           anything, so some of the microcomputer ports install _r_e_c_o_v_e_r
  78.           by default.
  79.  
  80.           For a multi-user system, the game administrator may want to
  81.           arrange for all .0 files in the playground to be fed to
  82.           recover when the host machine boots, and handle game crashes
  83.           individually.  If the user population is sufficiently
  84.           trustworthy, _r_e_c_o_v_e_r can be installed with the same
  85.           permissions the _n_e_t_h_a_c_k executable has.  In either case,
  86.           _r_e_c_o_v_e_r is easily compiled from the distribution utility
  87.           directory.
  88.  
  89.      NNNNOOOOTTTTEEEESSSS
  90.           Like _n_e_t_h_a_c_k itself, _r_e_c_o_v_e_r will overwrite existing
  91.           savefiles of the same name.  Savefiles created by _r_e_c_o_v_e_r
  92.           are uncompressed; they may be compressed afterwards if
  93.           desired, but even a compression-using _n_e_t_h_a_c_k will find them
  94.           in the uncompressed form.
  95.  
  96.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  97.           nethack(6)
  98.  
  99.      BBBBUUUUGGGGSSSS
  100.           _r_e_c_o_v_e_r makes no attempt to find out if a base name
  101.           specifies a game in progress.  If multiple machines share a
  102.           playground, this would be impossible to determine.
  103.  
  104.           _r_e_c_o_v_e_r should be taught to use the nethack playground
  105.           locking mechanism to avoid conflicts.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                                           (printed 7/7/95)
  130.  
  131.  
  132.  
  133.